// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.

#pragma once

// Forward declarations for external headers.  Please use in header files instead of declaring manually.

#include <abi/xaml_abi.h>

XAML_ABI_NAMESPACE_BEGIN
namespace Microsoft {
namespace UI {
namespace Xaml {
namespace Media {
namespace Animation {
    class AddDeleteThemeTransition;
    class BackEase;
    class BasicConnectedAnimationConfiguration;
    class BeginStoryboard;
    class BounceEase;
    class CircleEase;
    class ColorAnimation;
    class ColorAnimationUsingKeyFrames;
    class ColorKeyFrame;
    class ColorKeyFrameCollection;
    class CommonNavigationTransitionInfo;
    class ConnectedAnimation;
    class ConnectedAnimationConfiguration;
    class ConnectedAnimationService;
    class ContentThemeTransition;
    class ContinuumNavigationTransitionInfo;
    class CubicEase;
    class DirectConnectedAnimationConfiguration;
    class DiscreteColorKeyFrame;
    class DiscreteDoubleKeyFrame;
    class DiscreteObjectKeyFrame;
    class DiscretePointKeyFrame;
    class DoubleAnimation;
    class DoubleAnimationUsingKeyFrames;
    class DoubleKeyFrame;
    class DoubleKeyFrameCollection;
    class DragItemThemeAnimation;
    class DragOverThemeAnimation;
    class DrillInNavigationTransitionInfo;
    class DrillInThemeAnimation;
    class DrillOutThemeAnimation;
    class DropTargetItemThemeAnimation;
    class EasingColorKeyFrame;
    class EasingDoubleKeyFrame;
    class EasingFunctionBase;
    class EasingPointKeyFrame;
    class EdgeUIThemeTransition;
    class ElasticEase;
    class EntranceNavigationTransitionInfo;
    class EntranceThemeTransition;
    class ExponentialEase;
    class FadeInThemeAnimation;
    class FadeOutThemeAnimation;
    class GravityConnectedAnimationConfiguration;
    class KeySpline;
    class KeyTimeHelper;
    class LinearColorKeyFrame;
    class LinearDoubleKeyFrame;
    class LinearPointKeyFrame;
    class NavigationThemeTransition;
    class NavigationTransitionInfo;
    class ObjectAnimationUsingKeyFrames;
    class ObjectKeyFrame;
    class ObjectKeyFrameCollection;
    class PaneThemeTransition;
    class PointAnimation;
    class PointAnimationUsingKeyFrames;
    class PointerDownThemeAnimation;
    class PointerUpThemeAnimation;
    class PointKeyFrame;
    class PointKeyFrameCollection;
    class PopInThemeAnimation;
    class PopOutThemeAnimation;
    class PopupThemeTransition;
    class PowerEase;
    class QuadraticEase;
    class QuarticEase;
    class QuinticEase;
    class ReorderThemeTransition;
    class RepeatBehaviorHelper;
    class RepositionThemeAnimation;
    class RepositionThemeTransition;
    class SineEase;
    class SlideNavigationTransitionInfo;
    class SplineColorKeyFrame;
    class SplineDoubleKeyFrame;
    class SplinePointKeyFrame;
    class SplitCloseThemeAnimation;
    class SplitOpenThemeAnimation;
    class Storyboard;
    class SuppressNavigationTransitionInfo;
    class SwipeBackThemeAnimation;
    class SwipeHintThemeAnimation;
    class ThemeAnimationBase;
    class Timeline;
    class TimelineCollection;
    class Transition;
    class TransitionCollection;
    enum ClockState : int;
    enum ConnectedAnimationComponent : int;
    enum EasingMode : int;
    enum FillBehavior : int;
    enum NavigationTrigger : int;
    enum RepeatBehaviorType : int;
    enum SlideNavigationTransitionEffect : int;
    interface IAddDeleteThemeTransition;
    interface IBackEase;
    interface IBackEaseStatics;
    interface IBasicConnectedAnimationConfiguration;
    interface IBasicConnectedAnimationConfigurationFactory;
    interface IBeginStoryboard;
    interface IBeginStoryboardStatics;
    interface IBounceEase;
    interface IBounceEaseStatics;
    interface ICircleEase;
    interface IColorAnimation;
    interface IColorAnimationStatics;
    interface IColorAnimationUsingKeyFrames;
    interface IColorAnimationUsingKeyFramesStatics;
    interface IColorKeyFrame;
    interface IColorKeyFrameFactory;
    interface IColorKeyFrameStatics;
    interface ICommonNavigationTransitionInfo;
    interface ICommonNavigationTransitionInfoStatics;
    interface IConnectedAnimation;
    interface IConnectedAnimationConfiguration;
    interface IConnectedAnimationConfigurationFactory;
    interface IConnectedAnimationService;
    interface IConnectedAnimationServiceStatics;
    interface IContentThemeTransition;
    interface IContentThemeTransitionStatics;
    interface IContinuumNavigationTransitionInfo;
    interface IContinuumNavigationTransitionInfoStatics;
    interface ICubicEase;
    interface IDirectConnectedAnimationConfiguration;
    interface IDirectConnectedAnimationConfigurationFactory;
    interface IDiscreteColorKeyFrame;
    interface IDiscreteDoubleKeyFrame;
    interface IDiscreteObjectKeyFrame;
    interface IDiscretePointKeyFrame;
    interface IDoubleAnimation;
    interface IDoubleAnimationStatics;
    interface IDoubleAnimationUsingKeyFrames;
    interface IDoubleAnimationUsingKeyFramesStatics;
    interface IDoubleKeyFrame;
    interface IDoubleKeyFrameFactory;
    interface IDoubleKeyFrameStatics;
    interface IDragItemThemeAnimation;
    interface IDragItemThemeAnimationStatics;
    interface IDragOverThemeAnimation;
    interface IDragOverThemeAnimationStatics;
    interface IDrillInNavigationTransitionInfo;
    interface IDrillInThemeAnimation;
    interface IDrillInThemeAnimationStatics;
    interface IDrillOutThemeAnimation;
    interface IDrillOutThemeAnimationStatics;
    interface IDropTargetItemThemeAnimation;
    interface IDropTargetItemThemeAnimationStatics;
    interface IEasingColorKeyFrame;
    interface IEasingColorKeyFrameStatics;
    interface IEasingDoubleKeyFrame;
    interface IEasingDoubleKeyFrameStatics;
    interface IEasingFunctionBase;
    interface IEasingFunctionBaseFactory;
    interface IEasingFunctionBaseStatics;
    interface IEasingPointKeyFrame;
    interface IEasingPointKeyFrameStatics;
    interface IEdgeUIThemeTransition;
    interface IEdgeUIThemeTransitionStatics;
    interface IElasticEase;
    interface IElasticEaseStatics;
    interface IEntranceNavigationTransitionInfo;
    interface IEntranceNavigationTransitionInfoStatics;
    interface IEntranceThemeTransition;
    interface IEntranceThemeTransitionStatics;
    interface IExponentialEase;
    interface IExponentialEaseStatics;
    interface IFadeInThemeAnimation;
    interface IFadeInThemeAnimationStatics;
    interface IFadeOutThemeAnimation;
    interface IFadeOutThemeAnimationStatics;
    interface IGravityConnectedAnimationConfiguration;
    interface IGravityConnectedAnimationConfigurationFactory;
    interface IKeySpline;
    interface IKeyTimeHelper;
    interface IKeyTimeHelperStatics;
    interface ILinearColorKeyFrame;
    interface ILinearDoubleKeyFrame;
    interface ILinearPointKeyFrame;
    interface INavigationThemeTransition;
    interface INavigationThemeTransitionStatics;
    interface INavigationTransitionInfo;
    interface INavigationTransitionInfoFactory;
    interface INavigationTransitionInfoOverrides;
    interface INavigationTransitionInfoOverridesPrivate;
    interface INavigationTransitionInfoPrivate;
    interface IObjectAnimationUsingKeyFrames;
    interface IObjectAnimationUsingKeyFramesStatics;
    interface IObjectKeyFrame;
    interface IObjectKeyFrameFactory;
    interface IObjectKeyFrameStatics;
    interface IPaneThemeTransition;
    interface IPaneThemeTransitionStatics;
    interface IPointAnimation;
    interface IPointAnimationStatics;
    interface IPointAnimationUsingKeyFrames;
    interface IPointAnimationUsingKeyFramesStatics;
    interface IPointerDownThemeAnimation;
    interface IPointerDownThemeAnimationStatics;
    interface IPointerUpThemeAnimation;
    interface IPointerUpThemeAnimationStatics;
    interface IPointKeyFrame;
    interface IPointKeyFrameFactory;
    interface IPointKeyFrameStatics;
    interface IPopInThemeAnimation;
    interface IPopInThemeAnimationStatics;
    interface IPopOutThemeAnimation;
    interface IPopOutThemeAnimationStatics;
    interface IPopupThemeTransition;
    interface IPopupThemeTransitionStatics;
    interface IPowerEase;
    interface IPowerEaseStatics;
    interface IQuadraticEase;
    interface IQuarticEase;
    interface IQuinticEase;
    interface IReorderThemeTransition;
    interface IRepeatBehaviorHelper;
    interface IRepeatBehaviorHelperStatics;
    interface IRepositionThemeAnimation;
    interface IRepositionThemeAnimationStatics;
    interface IRepositionThemeTransition;
    interface ISineEase;
    interface ISlideNavigationTransitionInfo;
    interface ISlideNavigationTransitionInfo2;
    interface ISlideNavigationTransitionInfoStatics2;
    interface ISplineColorKeyFrame;
    interface ISplineColorKeyFrameStatics;
    interface ISplineDoubleKeyFrame;
    interface ISplineDoubleKeyFrameStatics;
    interface ISplinePointKeyFrame;
    interface ISplinePointKeyFrameStatics;
    interface ISplitCloseThemeAnimation;
    interface ISplitCloseThemeAnimationStatics;
    interface ISplitOpenThemeAnimation;
    interface ISplitOpenThemeAnimationStatics;
    interface IStoryboard;
    interface IStoryboardStatics;
    interface ISuppressNavigationTransitionInfo;
    interface ISwipeBackThemeAnimation;
    interface ISwipeBackThemeAnimationStatics;
    interface ISwipeHintThemeAnimation;
    interface ISwipeHintThemeAnimationStatics;
    interface IThemeAnimationBase;
    interface IThemeAnimationBaseFactory;
    interface IThemeAnimationBaseOverrides;
    interface ITimeline;
    interface ITimelineFactory;
    interface ITimelineStatics;
    interface ITransition;
    interface ITransitionFactory;
    interface ITransitionFactoryPrivate;
    interface ITransitionPrivate;
    struct KeyTime;
    struct RepeatBehavior;
} // Animation
} // Media
} // Xaml
} // UI
} // Microsoft
XAML_ABI_NAMESPACE_END
